تا اینجا با ایجاد query آشنا شدید ، همانطور که قبلا گفته شد بیش از 90% امور گزارش گیری با استفاده از دستورات SELECT انجام میشود ، لذا آشنایی با این دستور و توانایی الحاق Query های حاصله از این دستور مقوله ای بسیار مهم و کاربردی است .
در این بخش قصد داریم Query های مختلف را با استفاده از دستورات Union , Union All , Intersect,Minus با هم تلفیق کنیم ..
Union :
با استفاده از این دستور میتوانید بین دو Query مختلف اجتماع ایجاد کنید . طرز استفاده از این دستور بصورت زیر است :
Query 1
UNION
Query2
Union All :
این دستور نیز مشابه Union عمل میکند با این تفاوت که دستور Unionرکوردهای تکراری را در اجتماع لحاظ نمیکند در صورتی که Union All تمامی رکوردهای تکراری و غیر تکراری را نمایش میدهد . طریقه استفاده از این دستور نیز مشابه Union است و در ذیل مشخص شده :
Query 1
UNION ALL
Query2
Intersect :
این دستور مانند عملگر منطقی AND عمل میکند ، به این شکل که تنها رکوردهایی را انتخاب مبکند که هم در Query1 باشد و هم در Query2 . در ذیل نحوه استفاده از این دستور ذکر شده :
Query 1
INTERSECT
Query2
Minus :
همانطور که از نام این دستور بر می آید عمل تفریق را انجام میدهد . با استفاده از این دستور میتوان رکوردهایی را انتخاب کرد در Query1 موجود اند ولی درQuery2 موجود نیستند . نحوه استفاده از این دستور بصورت زیر است :
Query 1
MINUS
Query2
بحث در مورد تلفیق پرسشها (Query ها) را در همین جا با چند مثال پایان میدهیم .
مثال 1) فرض کنید میخواهیم لیست کلیه دانشجویانی را بدست آوریم که درس کد 2 یا 3 را ورداشته اند .
برای این منظور میتوان از دو Query استفاده کرد ، Query اول لیست تمام دانشجویان را مشخص میکند که درس کد 1 را ورداشته اند و Query دوم لیست تمام دانشجویانی را مشخص میکند که درس کد 2 را ورداشته اند ، با اجتماع این دو Query جواب بدست خواهد آمد . در اینجا بجای Union All از Unionاستفاده میکنیم چون ممکن است یک دانشجو بیش از یک بار درس کد 1 یا 2 را ودارد که در این صورت در صورت استفاده از Union All ، دو بار کد دانشجو نمایش داده خواهد شد.
SELECT st_no FROM nomreh WHERE crs_code=1
UNION
SELECT st_no FROM nomreh WHERE crs_code=2
مثال 2) با استفاده از دستورات الحاق Query میخواهیم لیست کلیه دانشجویانی را بدست آوریم که درس 1 و درس 2 را داشته اند .
SELECT st_no FROM nomreh WHERE crs_code=1
RESTRICT
SELECT st_no FROM nomreh WHERE crs_code=2
تلفیق دستورات SELECT(بخش اول)
در این بحث میخوایم به ارتباط SELECT و دستور IN بپردازیم ، در مباحث بعدی توضیحاتی بیشتر در مورد اجتماع ، اشتراک ، حالضرب و . . . دستورات SELECTارائه میدم . از این جهت که تقریبا 90% امور مربوط به گزراش گیری و اعمال پردازشی با دستور SELECT انجام میشه ، تبحر در این دستور و نحوه استفاده از اون اهمیت زیادی داره ، لذا سعی میکنم نکات کاربردی در مورد این دستور ارائه بدم .
تا اینجا با بانک نمونه آشنا شدین ، خب اجازه بدین بحث رو با یک سوال شروع کنم :
سوال : فرض کنین میخواین لیست تمام نمرات دانشجویانی رو بدست بیارین که در ترم اول 86 درس 2 واحدی داشتن .
خب تو یه تحلیل ساده پیش خودتون میگین اول باید کد تمام دروس 2 واحدی رو پیداکنم ، بعد بگم تمام نمراتی رو بهم نشون بده که کدش یکی از این کدهاست . تو این پست میخوام طریقه انجام این کار رو با دستور SELECT و IN توضیح بدم .
همونطور که در بحث مربوط به دستور IN دیدید ، با استفاده از این دستور میتونیم فیلدهایی رو که یکی از مشخصه های یک مجموعه مشخص رو داشته باشن رو انتخاب کنیم ،
جهت استفاده از دستور SELECT برای تعیین موارد انتخابی ای که دستور INمیتواند یکی از آن موارد باشد ، باید چند شرط را رعایت کنیم :
در دستور SELECT فقط و فقط یک فیلد را که کد شناسه ارتباطی بین جدول اصلی و ثانوی است را به عنوان خروجی ارسال کنیم (در اینجا فیلد مربوط به کد درس)
شرطی که باید فیلد داشته باشد را در بخش WHERE دستور SELECTداخلی قید میکنیم . (در اینجا شرط 2واحدی بودن)
خب بیاین و کد مربوط به سوالی رو که ابتدای بحث مطرح کردیم رو ایجاد کنیم ، با توجه به موارد قید شده دستور SELECT داخلی باید یک مجموعه از کدهای دروسی را در اختیار ما قرار دهد که درس مربوطه 2 واحدی باشد پس داریم :
SELECT Course.Crs_Code
FROM Course
WHERE Vahed=2
خب ، همینطوری که میبینین این دستور لیست یک سری درس رو بهمون نشون داد که میخوایم بدونیم کدوم دانشجوها این درس (یا دروس) رو در نیمسال اول 86 انتخاب کردن :
ميلاد درتاریخ 1393/10/20 گفته : سلام جديدترين مقالات، تحقيقات، پروژه ها، پايان نامه، كليه مطالب درسي و دانشگاهي، دانش آموزي و ... فقط در سايت ما با دريافت آنلاين و بدون وقفه، همچنين در با فرمت ورد و قابل ويرايش
در قسمت موضوعات كليه رشته ها جمع آوري شده است.
فني و مهندسي – علوم انساني – علوم پزشكي - علوم پايه و ....
http://payanname69.lxb.ir
اين هم كد بنر ماست قرار بديد لطفا :
<!-- start logo cod off http://payanname69.loxblog.com --><p align="center"><p align="center"><a href="http://payanname69.loxblog.com" target="_blank"><img border="0" src=" http://8pic.ir/images/nji0kjc0xb78n5qwgh7i.gif" width="468" height="60" alt="دانلود پایان نامه و مقالات اموزشی"></a></p><!--finish logo cod off http://payanname69.loxblog.com -->
mohamad درتاریخ 1393/10/15/v گفته : slm veb khobi dari man ye sait mikham mitoni tarahi koni
محمد درتاریخ 1393/10/11 گفته : سلام خسته نباشی من میخواهم یک پروژه به
زبان پی اچ پی بسازم میتونی کمکم کنی
نازی درتاریخ 1393/10/8 گفته : سلام چرا جواب منو توی چت نمیدی ؟
چقدر بگم بیا با من تبادل لینک کن تا بازدید وبلاگ هامون زیاد شه ؟ بیا وبلاگم رو ببین فقط مخصوص افزایش بازدیده . فقط کافیه تبادل لینک کنی. همین الان بیا بهم سر بزن .............
آمار وب
تعداد مطالب : 29
تعداد نظرات : 4
تعداد کاربران : 1
امروز :
تعداد اعضای سایت : 1
تعداد اعضای آنلاین : 1
بازدید امروز : 51
بازدید دیروز : 0
گوگل امروز : 5
گوگل دیروز : 0
بازدید هفته : 51
بازدید ماه : 51
بازدید سال : 515
بازدید کل : 18530
به وبلاگ من خوش آمدید
قبل از هر کاری خسته نباشید میگم
انشا... اوقات خوبی را در زندگی تان داشته باشید
این وبلاگ یک وبلاگ برنامه نویسی می باشد
از عزیانی که در برنامه نویسی مشکل دارند
میتواند از طریق نظرات یا پیام ها به ما در
ارتباط باشند و یا از طریق شماه تلفن زیر
09145577148
▓▓▓▓ vhp ▓▓▓▓
........♥#####♥
......♥#######♥
.♥##########♥
♥##########♥..................♥###♥
♥###########♥..........♥#########♥
..♥##########♥......♥#############♥
.....♥############♥..♥############♥
.......♥############♥#############♥
.........♥########################♥
............♥#####################♥
..............♥##################♥
.................♥###############♥
...................♥############♥
......................♥#########♥
........................♥######♥
...........................♥###♥
...........................♥##♥
.............................♥
.............................♥
............................♥
..........................♥
........................♥
..........................♥
.............................♥
................................♥
.................................♥
..............................♥
............................♥
.........................♥
......................♥
..................♥
.............♥
.........♥
......♥
....♥
......♥......................♥...♥
..........♥.............♥............♥
..............♥.....♥...................♥
...................♥.....................♥
................♥......♥..............♥
..............♥.............♥....♥
.............♥
...........♥
..........♥
.........♥
.........♥
..........♥
..............♥
...................♥
..........................♥
...............................♥
.................................♥
.................................♥
..............................♥
.........................♥
..................♥
.............♥
.....♥